{}
或 dict()
建立{key1:value1, key2:value2, ..}
{}
為 False
dict.keys()
:取得所有的 keydict.values()
:取得所有的 valuedict.items()
:取得所有的 (key:value)
的 tuplelist(dict.keys())
取得所有 key 並轉成 list,或是使用 for 迴圈dict[key]
:無此 key 時會跳錯,若給值 dict[key] = value
則新增此 key:valuedict.get(key, None)
:無此 key 時會跳出第 2 個參數的值,預設為 None
dict.setdefault(key, None)
:無此 key 時會跳出第 2 個參數的值,預設為 None
,並且新增此 key:valuedict.setdefault(key,default_value)
等同 dict[key] = dict.get(key,default_value)
x = {
"key1":"value2"
}
x.get("key2")
# None
x
# {'key1': 'value2'}
x.setdefault("key3", 3)
# 3
x
# {'key1': 'value2', 'key3': 3}
update()
:將另一個 dict 更新到原本的 dict,同 key 的話,value 會被新的蓋過,不同 key 的話則新增copy()
:淺層 copy,深層 copy 請參考 list 淺拷貝(shallow)與深拷貝(deep)
將目前談過的幾個類型作一個比較表
項目 | 順序 | 變動 |
---|---|---|
list | 有序 | 可變 |
tuple | 有序 | 不可變 |
string | 有序 | 不可變 |
set | 無序 | 可變 |
dict | 註 1 | 可變 |
註 1:dict 在 3.7 開始有照著建立順序,但是查詢還是靠 key 來進行
來聊聊流程控制吧!